Cloud computing is on the rise by providing a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Cloud computing generally utilizes clustering for redundancy, which may be accomplished through a variety of storage configurations, four of which are provided herein, each of which includes problematic features:
(1) Each node may be connected to a common SAN (storage area network) fabric, which may provide a low latency block interface to storage; (2) each node may be connected to an Ethernet network, which may utilize file access to shared storage; (3) external JBODs (“just a bunch of disks”); and (4) direct attached drives (internal).
Configurations (1) and (2) may require an additional external element, such as a Fiber or Ethernet switch, to connect nodes to common storage for forming a cluster. Such an external element may be undesirable, as the element provides a single point of failure. As a result, a redundancy component may be required to provide high availability of the configurations, which would incorporate additional cost to the systems.
Configuration (3) may be generally cost effective, however, the configuration limits the amount of nodes in a cluster to the number of connectors on the JBOD, which may be prohibitively constrictive and limit scalability. Moreover, configurations (1)-(3) generally require the storage system to be located in an external enclosure, which imposes additional power, space, and maintenance costs.
Configuration (4), while being generally economical, makes no provision for high availability clustering, since no shared storage exists for the attached drives. As such, these configurations present problematic costs and complexity and do not present desirable solutions to storage requirements (e.g., redundancy and common access) for high availability clustering.